ScalaQL: Language-Integrated Database Queries for Scala
نویسندگان
چکیده
One of the most ubiquitous elements of modern computing is the relational database. Very few modern applications are created without some sort of database backend. Unfortunately, relational database concepts are fundamentally very different from those used in generalpurpose programming languages. This creates an impedance mismatch between the the application and the database layers. One solution to this problem which has been gaining traction in the .NET family of languages is Language-Integrated Queries (LINQ). That is, the embedding of database queries within application code in a way that is statically checked and type safe. Unfortunately, certain language changes or core design elements were necessary to make this embedding possible. We present a framework which implements this concept of type safe embedded queries in Scala without any modifications to the language itself. The entire framework is implemented by leveraging existing language features (particularly for-comprehensions).
منابع مشابه
Extending Scala with Database Query Capability
The integration of database and programming languages is difficult due to the different data models and type systems prevalent in each field. We present a solution where the developer may express queries encompassing program and database data. The notation used for queries is based on comprehensions, a declarative style that does not impose any specific execution strategy. In our approach, the ...
متن کاملCompiling LINQ and a Scala subset into SQL:1999
Persistent programming languages have yet to embrace two relatively recent developments: (a) the integration of the functional and object paradigms; and (b) advances in optimization techniques for functional query languages. The expressiveness thus gained over the relational data model calls for an extended research agenda. We focus in this technical report on two subproblems from that agenda. ...
متن کاملRethinking the Architecture of O/R Mapping for EMF in terms of LINQ
There is a trend in programming language design toward adopting the same query and concurrency management mechanisms that have proven successful for databases, in the form of integrated query languages and transactional memory [HG06]. We focus on the demands placed on Object/Relational Mapping (ORM) in order to support comprehension queries, as known from LINQ and Scala. The additional expressi...
متن کاملApply Uncertainty in Document-Oriented Database (MongoDB) Using F-XML
As moving to big data world where data is increasing in unstructured way with high velocity, there is a need of data-store to store this bundle amount of data. Traditionally, relational databases are used which are now not compatible to handle this large amount of data, so it is needed to move on to non-relational data-stores. In the current study, we have proposed an extension of the Mongo...
متن کاملApply Uncertainty in Document-Oriented Database (MongoDB) Using F-XML
As moving to big data world where data is increasing in unstructured way with high velocity, there is a need of data-store to store this bundle amount of data. Traditionally, relational databases are used which are now not compatible to handle this large amount of data, so it is needed to move on to non-relational data-stores. In the current study, we have proposed an extension of the Mongo...
متن کامل